Systems and methods for identifying unknown users of a device to provide personalized user profiles

ABSTRACT

Systems and methods are disclosed for activating a personalized user profile on a device based on the detection of an outlying user input. A media guidance application detects a user input that is inconsistent with an active user profile. In response, the media guidance application identifies a candidate user that both shares a location with the device and has a user profile consistent with the user input. The media guidance application activates the user profile of the candidate user as a temporary active user profile on the device.

BACKGROUND

The present disclosure is directed to media guidance applications, andmore particularly to media guidance applications that provide contentrecommendations based on user profiles.

SUMMARY

Media guidance applications produce tailored recommendations based onuser activity (e.g., search and viewing history) and user preferences(e.g., ratings). A media guidance application may fail to recognizecertain user activities as outliers, however, thus pollutingrecommendations with content that a user may not wish to view. Forexample, a user may view a set of comedy videos on a video streamingplatform such as YouTube™ on the user's mobile device. Based on theuser's viewing history, YouTube may appropriately recommend additionalcomedy videos to the user. If the user's friend borrows the mobiledevice and begins watching a horror video on YouTube, the viewinghistory on the mobile device includes both horror and comedy videos.Even if the original user dislikes horror videos, because YouTube doesnot identify the horror video as an outlier, new recommendations willinclude unviewed horror and comedy videos. In this scenario, the user'srecommendations are polluted by videos that the user does not wish toview. From the perspective of the user's friend who borrowed the mobiledevice, it is possible that the friend isn't interested in comedy videosand thus the previously existing comedy recommendations are not relevantfor the user's friend either.

Because devices such as set-top boxes, smart televisions, smartphones,etc., are commonly shared, user profiles can be polluted by outlyinguser inputs. A media guidance application that relies on these userprofiles to produce content recommendations can therefore be susceptibleto making poor recommendations. Systems and methods are thus describedherein for activating a personalized user profile on a device based onthe detection of an outlying user input.

In one embodiment, a media guidance application receives a user input ona device and compares the user input with an active user profile on thedevice. Based on the comparison, the media guidance application maydetermine that the user input is inconsistent with the active userprofile and should be considered an outlier (i.e., not to be included inthe active user profile, thus preserving the personalizedrecommendations and settings of the active user profile). The mediaguidance application additionally attempts to identify the user thatprovided the user input in order to activate another user profile fortemporary usage. Because sharing a location with the device is anindication of potential device use, the media guidance applicationidentifies a candidate user that is located in the same location as thedevice. The media guidance application determines whether the user inputis consistent with the user profile of the candidate user and, inresponse to determining that the user input is in fact consistent withthe candidate user's user profile, the media guidance applicationactivates the user profile of the candidate user as a temporary activeuser profile on the device.

Identifying an inconsistent user input (used herein interchangeably with“outlying user input”) involves determining, based on historic useractivity, whether the user input is one that the user associated withthe active user profile would normally provide. In some embodiments, themedia guidance application determines whether the user input matches anypreviously received user inputs stored on the active user profile. Ifthe media guidance application cannot determine a match, the mediaguidance application deems the user input inconsistent with the activeuser profile.

Likewise, usage patterns and input times are common giveaways ofinconsistent user input. In some embodiments, the media guidanceapplication determines a receipt time of the user input. The mediaguidance application further determines a usage period of the devicerepresenting a window of time in which the user associated with theactive user profile normally provides inputs. In determining that thereceipt time of the user input is not within the usage period, the mediaguidance application identifies the user input as inconsistent with theactive user profile.

For a particular type of user input, such as a search command for amedia asset, the media guidance application in some embodimentsidentifies a genre of the media asset and determines, from previouslyreceived user inputs in the active user profile, whether a prior searchexists for a different media asset that shares the genre. If the mediaguidance application does not find a prior search for a different mediaasset sharing the genre, the media guidance application identifies theuser input as inconsistent with the active user profile.

The detection of an outlying user input causes the media guidanceapplication to identify the user providing the outlying user input. Insome embodiments, the media guidance application selects the candidateuser from a list of candidate users in the active user profile of thedevice. The list of candidate users may be a list of social mediaconnections associated with an owner of the device, a list of contactsstored on the device, or a list of owners of the device. In particular,the media guidance application identifies a first candidate user fromthe list of candidate users and retrieves location information of thefirst candidate user. The media guidance application may retrieve thelocation information from various sources such as a social media profileof the first candidate user, metadata of media uploaded to a website bythe first candidate user, a message on the device received from thefirst candidate user, a global-positioning system (GPS) tracker on adifferent device belonging to the first candidate user, and a travelrecord of the first candidate user. In response to determining that thelocation information matches the first location, the media guidanceapplication selects the first candidate user as the candidate user. Ifthe location information does not match, the media guidance applicationsearches for another candidate user in the list (e.g., a secondcandidate user, a third candidate user, etc.).

The media guidance application then confirms whether the candidate useris indeed the user that provided the user input by determining whetherthe user input is consistent with normal user activity of the candidateuser. Accordingly, the media guidance application retrieves a userprofile of the candidate user from a server with stored user profiles ora device of the candidate user, and utilizes the processes previouslydescribed to evaluate consistency. For example, the media guidanceapplication may compare the usage period, previously received userinputs, and media asset searches stored in the user profile of thecandidate user with the user input received by the device. In responseto determining that the user input is consistent with the user profileof the candidate user, the media guidance application activates the userprofile of the candidate user as the temporary active user profile onthe device. Otherwise, the media guidance application may select adifferent candidate user from a list of candidate users on the activeuser profile.

In some embodiments, the media guidance application may confirm theidentity of the candidate user by generating, for display on the device,a query to confirm whether the user input was received from thecandidate user. In response to receiving a confirmation to the query,the media guidance application activates the user profile of thecandidate user as the temporary active user profile on the device.

Once the temporary active user profile is activated on the device, themedia guidance application may receive an additional user input on thedevice from the candidate user. Accordingly, the media guidanceapplication updates the temporary active user profile based on theadditional user input and sends a copy of the updated temporary activeuser profile to a different device of the candidate user. This allowsfor the candidate user's activity on the device to be recorded on thecandidate user's personal device, even if the temporary active userprofile is deactivated on the current device at a later time.

It should be noted that the systems, methods, apparatuses, and/oraspects described above may be applied to, or used in accordance with,other systems, methods, apparatuses, and/or aspects described in thisdisclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 shows an illustrative example of receiving a user input that isinconsistent with an active user profile on a device, in accordance withsome embodiments of the disclosure;

FIG. 2 shows an illustrative example of a candidate user lookup, inaccordance with some embodiments of the disclosure;

FIG. 3 shows an illustrative example for determining whether a userprofile of a candidate user is consistent with the received user input,in accordance with some embodiments of the disclosure;

FIG. 4 shows an illustrative example of a device on which the userprofile of the candidate user is activated, in accordance with someembodiments of the disclosure;

FIG. 5 shows an illustrative example for detecting the location of acandidate user via a device of the candidate user, in accordance withsome embodiments of the disclosure;

FIG. 6 is a diagram of an illustrative device in accordance with someembodiments of the disclosure;

FIG. 7 is a diagram of an illustrative media system in accordance withsome embodiments of the disclosure;

FIG. 8 is a flowchart of a detailed illustrative process for activatinga user profile for temporary use on a device, in accordance with someembodiments of the disclosure;

FIG. 9 is a flowchart of an illustrative process for determining whethera user input is inconsistent with the active user profile on the devicebased on previously received user inputs, in accordance with someembodiments of the disclosure;

FIG. 10 is a flowchart of an illustrative process for determiningwhether a search for a media asset is inconsistent with the active userprofile on the device based on a genre of the media asset, in accordancewith some embodiments of the disclosure;

FIG. 11 is a flowchart of an illustrative process for determiningwhether a user input is inconsistent with the active user profile on thedevice based on the receipt time of the user input, in accordance withsome embodiments of the disclosure;

FIG. 12 is a flowchart of an illustrative process for identifying acandidate user that shares a location with the device, in accordancewith some embodiments of the disclosure; and

FIG. 13 is a flowchart of an illustrative process for executing the userinput on a temporary active user profile, in accordance with someembodiments of the disclosure.

DETAILED DESCRIPTION

FIG. 1 shows illustrative example 100 of receiving a user input that isinconsistent with an active user profile on a device, in accordance withsome embodiments of the disclosure. Device 102 (e.g., a smartphone) isdisplaying a media content application for streaming videos (e.g., theNetflix™ mobile application). User input 104 reflects a selection of themedia asset “Friends” from a plurality of media assets on the Netflixinterface. Active user profile 106 represents a user profile that isbeing accessed on device 102. Active user profile 106 may be managed bythe content provider of the media assets (e.g., Netflix) and may beactivated by the media guidance application when the user of device 102enters his/her access credentials to log in to the streaming account(e.g., provides a username and password to the Netflix mobileapplication).

Active user profile 106 indicates that the name of the user is “Sam” andthat the user prefers media assets of the “action” and “horror” genres.In contrast, the user dislikes “comedy” and “drama” genres. One skilledin the art would appreciate that user preferences can vary from liking aspecific genre/sub-genre, liking an actor, liking particularshows/movies, etc. Likewise, a user may dislike a specificgenre/sub-genre, dislike an actor, etc. The likes and dislikes depictedin active user profile 106 may be generated based on the viewing andsearch histories of the user.

In response to receiving user input 104 on device 102, the mediaguidance application determines whether user input 104 is consistentwith active user profile 106. For example, the media guidanceapplication determines that user input 104 is a selection of aparticular media asset “Friends.” The media guidance applicationassesses whether user input 104 is an input that the user would normallymake based on previous usage activity. In this example, the mediaguidance application determines whether the user would select the mediaasset “Friends” for viewing, based on the user's previous selections andcontent preferences. It should be noted that user input 104 is notlimited to the selection or search for a media asset. For example, userinput 104 may be the configuration of a platform setting such as aparental control adjustment. Accordingly, the media guidance applicationwill determine whether the user would normally make the parental controladjustment.

The media guidance application may analyze historic usage activity ofthe user to determine whether a user input is an outlier or is one thatthe user would normally make. An indication that the user input has beenpreviously made by the user provides reason that the user input is onethe user would make. Specifically, the media guidance applicationretrieves, from the active user profile, a plurality of previouslyreceived user inputs. The previously received user inputs may includesearches, media asset selections, setting configurations, and ratingchanges for media assets. The media guidance application compares theuser input with the plurality of previously received user inputs todetermine whether the user input is one that the user associated withactive user profile 106 has previously made. The media guidanceapplication determines that user input 104 is a selection of the mediaasset “Friends.” Accordingly, the media guidance application determineswhether the user previously selected the media asset “Friends” accordingto active user profile 106. In response to determining that user input104 does not match any previously received user input of active userprofile 106, the media guidance application determines that user input104 is inconsistent with active user profile 106. This determinationallows the media guidance application to exclude user input 104 frombeing recorded in active user profile 106 (i.e., a record of user input104 is not entered in the plurality of previously received user inputs)and thus user input 104 does not influence future recommendations on theNetflix platform for active user profile 106. For example, the user willnot receive recommendations to watch shows similar to “Friends” becausethe user did not in fact select “Friends” for viewing.

The media guidance application may also rely on previously received userinputs that are similar but do not exactly match user input 104. Forexample, a user may not have historically selected, viewed, or searchedfor “Friends.” However, the user may have selected, viewed, or searchedfor a media asset that is similar to the show “Friends.” The mediaguidance application identifies a genre of the selected media asset anddetermines whether a prior selection or search was performed for a mediaasset that shares that genre. For example, the user may have searchedfor a different media asset titled “How I Met Your Mother” a week beforeuser input 104 was provided on device 102. Using metadata of therespective media assets, the media guidance application may determinethat both shows are associated with the “comedy” genre. As a result, themedia guidance application determines that user input 104 is consistentwith active user profile 106 because the user has previously searchedfor or selected a different media asset that is similar to the selectedmedia asset in user input 104. If the media guidance application did notfind any previously selected or searched for different media asset withthe common genre, the media guidance application may determine that userinput 104 is inconsistent with active user profile 106. As referred toherein the genre of a media asset is not limited to broadclassifications such as “comedy,” “horror,” or “drama,” and may capturespecific attributes of the media asset. For example, a genre may be“movies with George Clooney” or “television sit-coms set in New YorkCity,” hence capturing the cast and locations in a media asset.

The media guidance application may also use receipt times to determineuser input consistency. For example, a user may have a typical schedulein which he/she provides user inputs to device 102. For example, theuser associated with active user profile 106 may use device 102 between8:00 am and 9:00 pm. Thus, if user input 104 is received at 11:45 pm,the media guidance application will determine an inconsistency of userinput 104 with active user profile 106. In some embodiments, the usermay have a typical schedule in which he/she provides a certain type ofuser input. Types of user inputs include a search for a media asset, aselection of a media asset, a setting configuration, trick-playselections, and application access. For example, the user may search formedia assets to view on Netflix particularly between 8:00 pm and 8:30pm. The media guidance application may determine that the receipt timeof user input 104 is 4:00 pm and that this receipt time is not in theusage period associated with the “search” user inputs on Netflix.Accordingly, the media guidance application determines that user input104 is inconsistent with active user profile 106.

FIG. 2 shows illustrative example 200 of a candidate user lookup, inaccordance with some embodiments of the disclosure. In response todetermining that user input 104 is inconsistent with active user profile106, the media guidance application identifies a potential user that mayhave provided user input 104. The media guidance application may analyzeactive user profile 106 or any source that provides a list ofindividuals related to the user associated with active user profile 106.For example, the media guidance application determines that the deviceowner is named Sam and retrieves a list of candidate users related toSam.

The list of candidate users may be a list of social media friends, alist of contacts stored on the device, or a list of owners of thedevice. The media guidance application may communicate with otherthird-party applications to retrieve the list of candidate users. Forexample, device 102 may also have a social media application (e.g.,Facebook). The media guidance application may retrieve the accountinformation of the social media application and the account informationin active user profile 106 to determine whether the accounts on bothapplications belong to the same user, “Sam.”

In response to determining that the accounts belong to the same user,the media guidance application retrieves a list of friends from thesocial media application. Example 200 depicts a friend list thatincludes a plurality of candidate users (e.g., Friend A, Friend B, etc.)and their respective locations (e.g., Location A, Location B). Thisfriend list is generated by the media guidance application. Inparticular, the media guidance application identifies a candidate userfrom the list of candidate users (e.g., candidate user 206) andretrieves location information of the candidate user (e.g., location204).

The media guidance application may retrieve the location informationfrom various sources such as a social media profile of candidate user206 (e.g., a location listed in the bio-page of candidate user 206 or asocial media post indicating location), metadata of media uploaded to awebsite by candidate user 206 (e.g., a location found in the metadata ofa photo the candidate user uploaded online), a message on the devicereceived from candidate user 206 (e.g., a text message or email sent todevice 102 indicating the location of candidate user 206), aglobal-positioning system (GPS) tracker on a different device ofcandidate user 206 (e.g., discussed in further detail in FIG. 5), and atravel record of candidate user 206.

In response to determining that location 204 matches location 202, whichis the location of device 102, the media guidance application determinesthat candidate user 206 potentially provided user input 104. If thelocation 204 does not match location 202, the media guidance applicationcompares the location for another candidate user in the list (e.g.,Friend C, Friend D, etc.).

FIG. 3 shows illustrative example 300 for determining whether a userprofile of a candidate user is consistent with the received user input,in accordance with some embodiments of the disclosure. In example 200,the media guidance application determines that candidate user 206potentially provided user input 104 because location 204 of candidateuser 206 matches location 202 of device 102. In response to finding amatch, the media guidance application confirms whether candidate user206 provided user input 104 by determining whether user input 104 isconsistent with user profile 302 of candidate user 206. Thedetermination of user input consistency can be performed by the mediaguidance application using the same processes used for active userprofile 106 (discussed in FIG. 1). When retrieving the user profile ofany candidate user, the media guidance application attempts to find auser profile of the candidate user that is similar to active userprofile 106. For example, active user profile 106 may be generated by acontent provider such as Netflix. Accordingly, the media guidanceapplication retrieves a user profile that is from the same contentprovider (e.g., Netflix) or a similar content provider (e.g., videostreaming platforms such as Hulu™, HBO Now™, etc.). In this example,user profile 302 is a Netflix profile of candidate user 206. Similar toactive user profile 106, user profile 302 includes likes, dislikes,ratings, viewing history, search history, and account configurationinformation. In some embodiments, the media guidance application mayretrieve only part of user profile 302 (e.g., viewing history) becausecandidate user 206 may set access restrictions to user profile 302,preventing the entire user profile from being accessed.

The media guidance application determines that user input 104 isconsistent with user profile 302 because candidate user 206 may havepreviously viewed media asset 304 (e.g., “Friends”) according to theviewing history of user profile 302. In some embodiments, the mediaguidance application determines that user input 104 is consistent withuser profile 302 because user profile 302 indicates a preference ofcandidate user 206 for media asset 304 (e.g., “Friends” is either highlyrated by candidate user 206 or is in her “liked” group of media assets).In some embodiments, the media guidance application determines that userinput 104 is consistent with user profile 302 because candidate user 206has viewed, searched, selected, or recorded, a media asset that shares agenre with media asset 304 (e.g., “How I Met Your Mother”). In responseto determining that user input 104 is consistent with user profile 302and that location 204 of candidate user 206 matches location 202 ofdevice 102, the media guidance application determines that candidateuser 206 has provided user input 104.

FIG. 4 shows illustrative example 400 of a device on which the userprofile of the candidate user is activated, in accordance with someembodiments of the disclosure. To prevent user input 104, an outlyinguser input that is inconsistent with active user profile 106, frompotentially polluting recommendations in active user profile 106, themedia guidance application activates temporary profile 402 on device102. For example, the media guidance application may log out from activeuser profile 106 (e.g., sign out from the Netflix account) and log in touser profile 302, which is the profile of candidate user 206. In orderto log in to user profile 302 on device 102, the media guidanceapplication retrieves access credentials of user profile 302 (e.g.,username and password information of the Netflix account of candidateuser 306). In some embodiments, prior to retrieving the accesscredentials of user profile 302 and subsequent to identifying candidateuser 206 as the provider of user input 104, the media guidanceapplication generates for display a query on device 102 asking the userto confirm whether he/she is candidate user 306. For example, the mediaguidance application may generate a display window on the smartphonestating, “Inconsistent User Input Detected: Are you Laura?” In responseto receiving a positive confirmation from the user (e.g., selection of“Yes” or an affirmative vocal input such as “Yeah”), the media guidanceapplication retrieves the access credentials of user profile 302. Inresponse to receiving a negative confirmation from the user (e.g.,selection of “No” or a vocal input such as “No”), the media guidanceapplication identifies another candidate user, from the list ofcandidate users, that shares a location with device 102 and that has auser profile consistent with user input 104.

The media guidance application may determine that none of the candidateusers in the list of candidate users shares a location with device 102or that none of the candidate users in the list of candidate users has auser profile that is consistent with user input 104. In order topreserve active user profile 106 and prevent user input 104 frominfluencing any recommendations, the media guidance application mayactivate a generic user profile that is not associated with any previoususer activity as the temporary active user profile. For example, themedia guidance application may temporarily activate a default Netflixuser profile given to new users.

In some embodiments, the media guidance application generates fordisplay a query on device 102 asking the user to confirm whether he/sheis the user associated with active user profile 106. For example, themedia guidance application may generate a display window on thesmartphone stating, “Inconsistent User Input Detected: Are you Sam?”. Inresponse to receiving a positive confirmation from the user (e.g.,selection of “Yes” or an affirmative vocal input such as “Yeah”), themedia guidance application determines that user input 104 is consistentwith active user profile 106 and should be recorded because user input104 is not in fact an outlier. In response to receiving a negativeconfirmation from the user (e.g., selection of “No” or a vocal inputsuch as “No”) and determining that the user cannot be identified fromthe list of candidate users, the media guidance application activates ageneric user profile as the temporary active user profile.

The media guidance application may determine that more than onecandidate user in the list of candidate users shares a location withdevice 102 and has a respective user profile that is consistent withuser input 104. In this case, the media guidance application maygenerate for display a query on device 102. The query may list all ofthe possible candidate users that both share a location with device 102and have a user profile that is consistent with user input 104. Themedia guidance application may then receive a selection of a candidateuser from the list of possible candidate users presented in the query.In response to receiving a selection of the candidate user, the mediaguidance application retrieves access credentials of the candidateuser's user profile and activates the user profile accordingly.

The media guidance application may determine that more than onecandidate user in the list of candidate users shares a location withdevice 102 and has a respective user profile that is consistent withuser input 104. For example, the media guidance application maydetermine that a first candidate user and the second candidate user arepossible providers of user input 104. In response to this determination,the media guidance application determines an information overlap betweena first user profile of the first candidate user and a second userprofile of the second candidate user. The information overlap representscommonalities between the respective user profiles. For example, themedia guidance application may sift through the viewing historiesassociated with both user profiles and identify media assets that appearin both viewing histories. The media guidance application may alsodetermine shared “likes,” “dislikes,” and user settings in both userprofiles. Based on these shared attributes and viewing histories, themedia guidance application activates a shared generic user profile(e.g., a default Netflix profile given to first-time users) on device102 and configures the shared generic user profile to incorporate theinformation overlap. Thus, the shared generic user profile comprises theshared “likes,” “dislikes,” settings and viewing histories of the firstuser profile and the second user profile. In some embodiments, the mediaguidance application merges the first user profile and the second userprofile (e.g., combines the viewing histories, “likes,” and “dislikes”)to produce an aggregated user profile. The media guidance applicationthen activates the aggregated user profile as the temporary active userprofile on device 102.

The media guidance application generates temporary active user profile402 to preserve active user profile 106. However, it is likely that theuser associated with active user profile 106 may return to use device102 after temporary active user profile 402 is activated. The mediaguidance application may reactivate active user profile 106. In someembodiments, the media guidance application receives an additional userinput on device 102. The media guidance application determines whetherthe additional user input is inconsistent with temporary active userprofile 402. In response to determining that the additional user inputis inconsistent with temporary active user profile 402, the mediaguidance application determines whether the additional user input isinconsistent with active user profile 106. In response to determiningthat the additional user input is consistent with active user profile402, the media guidance application deactivates temporary active userprofile 402 (e.g., logs out from the Netflix account on device 102) andreactivates active user profile 106 (e.g., logs in to the Netflixaccount of the device owner on device 102).

In some embodiments, the media guidance application determines whether auser session has ended while temporary active user profile 402 is activeon device 102. For example, the media guidance application may determinethat the Netflix application has been closed on device 102. In response,the media guidance application deactivates temporary active user profile402 and reactivates active user profile 106 when the Netflix applicationis reopened.

FIG. 5 shows illustrative example 500 for detecting the location of acandidate user via a device of the candidate user, in accordance withsome embodiments of the disclosure. In example 500, 502 is the device(e.g., a home media system comprising a television and a set-top box).Location 504 represents the current location of device 502. In responseto detecting an outlying user input (i.e., a user input inconsistentwith the active user profile on device 502), the media guidanceapplication identifies a candidate user that potentially provided theuser input. In some embodiments, the media guidance application ondevice 502 transmits a discovery message (e.g., via Wi-Fi). In responseto transmitting the discovery message, the media guidance application ondevice 502 may receive an acknowledgment message from device 506. Theacknowledgment message may include location 510 (e.g., GPS coordinatesof device 506). The media guidance application on device 502 determineswhether location 504 and location 510 are within a threshold vicinity(e.g., five meters apart at a maximum). In response to determining thatthe respective locations are within the threshold vicinity, the mediaguidance application retrieves user profile 508 from device 506 anddetermines whether the user profile 508 is consistent with the userinput. In response to determining that user profile 508 is consistentwith user profile 508, the media guidance application activates userprofile 508 as the temporary active user profile on device 502.

FIG. 6 shows a generalized embodiment of illustrative device 600. Asdepicted in FIG. 6, device 600 is a smartphone. However, device 600 isnot limited to smartphones and may be any computing device. For example,device 600 of FIG. 6 can be implemented in system 700 of FIG. 7 asdevice 702 (e.g., a smartphone, a video game console, a smarttelevision, a smart speaker, a computer, or any combination thereof).

Device 600 may receive data via input/output (hereinafter “I/O”) path602. I/O path 602 may provide received data to control circuitry 604,which includes processing circuitry 606 and storage 608. Controlcircuitry 604 may be used to send and receive commands, requests, andother suitable data using I/O path 602. I/O path 602 may connect controlcircuitry 604 (and specifically processing circuitry 606) to one or morecommunications paths (described below). I/O functions may be provided byone or more of these communications paths, but are shown as a singlepath in FIG. 6 to avoid overcomplicating the drawing.

Control circuitry 604 may be based on any suitable processing circuitrysuch as processing circuitry 606. As referred to herein, processingcircuitry should be understood to mean circuitry based on one or moremicroprocessors, microcontrollers, digital signal processors,programmable logic devices, field-programmable gate arrays (FPGAs),application-specific integrated circuits (ASICs), etc., and may includea multi-core processor (e.g., dual-core, quad-core, hexa-core, or anysuitable number of cores) or supercomputer. In some embodiments,processing circuitry may be distributed across multiple separateprocessors or processing units, for example, multiple of the same typeof processing units (e.g., two Intel Core i7 processors) or multipledifferent processors (e.g., an Intel Core i5 processor and an Intel Corei7 processor). In some embodiments, control circuitry 604 executesinstructions for a media guidance application stored in memory (i.e.,storage 608).

A media guidance application may be a stand-alone applicationimplemented on a device or a server. The media guidance application maybe implemented as software or a set of executable instructions. Theinstructions for performing any of the embodiments discussed herein ofthe media guidance application may be encoded on non-transitory computerreadable media (e.g., a hard drive, random-access memory on a DRAMintegrated circuit, read-only memory on a BLU-RAY disk, etc.) ortransitory computer readable media (e.g., propagating signals carryingdata and/or instructions). For example, in FIG. 6 the instructions maybe stored in storage 608, and executed by control circuitry 604 of adevice 600.

In some embodiments, a media guidance application may be a client-serverapplication where only the client application resides on device 600(e.g., device 702), and a server application resides on an externalserver (e.g., server 706). For example, a media guidance application maybe implemented partially as a client application on control circuitry604 of device 600 and partially on server 706 as a server applicationrunning on control circuitry. Server 706 may be a part of a local areanetwork with device 702, or may be part of a cloud computing environmentaccessed via the Internet. In a cloud computing environment, varioustypes of computing services for performing searches on the Internet orinformational databases, providing storage (e.g., for the previouslyreceived user inputs and their receipt times) or parsing data areprovided by a collection of network-accessible computing and storageresources (e.g., server 706), referred to as “the cloud.” Device 600 maybe a cloud client that relies on the cloud computing capabilities fromserver 706 to generate the personalized answers of the media guidanceapplication. When executed by control circuitry of server 706, the mediaguidance application may instruct the control circuitry to generate themedia guidance application output (e.g., the execution of the userinput) and transmit the generated output to device 702. The clientapplication may instruct control circuitry of the receiving device 702to generate the media guidance application output. Alternatively, device702 may perform all computations locally via control circuitry 604without relying on server 706.

Control circuitry 604 may include communications circuitry suitable forcommunicating with a media guidance application server or other networksor servers. The instructions for carrying out the above-mentionedfunctionality may be stored and executed on server 706. Communicationscircuitry may include a cable modem, an integrated services digitalnetwork (ISDN) modem, a digital subscriber line (DSL) modem, a telephonemodem, Ethernet card, or a wireless modem for communications with otherequipment, or any other suitable communications circuitry. Suchcommunications may involve the Internet or any other suitablecommunication networks or paths. In addition, communications circuitrymay include circuitry that enables peer-to-peer communication ofdevices, or communication of devices in locations remote from eachother.

Memory may be an electronic storage device provided as storage 608 thatis part of control circuitry 604. As referred to herein, the phrase“electronic storage device” or “storage device” should be understood tomean any device for storing electronic data, computer software, orfirmware, such as random-access memory, read-only memory, hard drives,optical drives, solid state devices, quantum storage devices, gamingconsoles, or any other suitable fixed or removable storage devices,and/or any combination of the same. Nonvolatile memory may also be used(e.g., to launch a boot-up routine and other instructions). Cloud-basedstorage (e.g., on server 706) may be used to supplement storage 608 orinstead of storage 608.

A user may send instructions to control circuitry 604 using user inputinterface 610 of device 600. User input interface 610 may be anysuitable user interface touch screen, touchpad, stylus and may beresponsive to external device add-ons such as a remote control, mouse,trackball, keypad, keyboard, joystick, voice recognition interface, orother user input interfaces. Display 610 may be a touchscreen ortouch-sensitive display. In such circumstances, user input interface 610may be integrated with or combined with display 612. Display 612 may beone or more of a monitor, a television, a liquid crystal display (LCD)for a mobile device, amorphous silicon display, low temperature polysilicon display, electronic ink display, electrophoretic display, activematrix display, electro-wetting display, electro-fluidic display,cathode ray tube display, light-emitting diode display,electroluminescent display, plasma display panel, high-performanceaddressing display, thin-film transistor display, organic light-emittingdiode display, surface-conduction electron-emitter display (SED), lasertelevision, carbon nanotubes, quantum dot display, interferometricmodulator display, or any other suitable equipment for displaying visualimages. A video card or graphics card may generate the output to thedisplay 612. Speakers 614 may be provided as integrated with otherelements of user equipment device 600 or may be stand-alone units. Anaudio component of the personalized answer and other content displayedon display 612 may be played through speakers 614. In some embodiments,the audio may be distributed to a receiver (not shown), which processesand outputs the audio via speakers 614.

Control circuitry 604 may allow a user to provide user profileinformation or may automatically compile user profile information. Forexample, control circuitry 604 may monitor the user's input history andreceipt times over various devices. In some embodiments, controlcircuitry 604 monitors user inputs such as texts, calls, conversationaudio, social media posts, etc., to update the active user profile on adevice. Additionally, control circuitry 604 may obtain all or part ofother user profiles that are related to a particular user (e.g., viasocial media networks), and/or obtain information about the user fromother sources that control circuitry 604 may access. As a result, a usercan be provided with a unified experience across the user's differentdevices.

As depicted in FIG. 7, device 702 may be coupled to communicationnetwork 704. Communication network 704 may be one or more networksincluding the Internet, a mobile phone network, mobile voice or datanetwork (e.g., a 4G or LTE network), cable network, public switchedtelephone network, Bluetooth, or other types of communications networkor combinations of communication networks. Thus, device 702 maycommunicate with server 706 over communication network 704 viacommunications circuitry described above. In should be noted that theremay be more than one server 706, but only one is shown in FIG. 7 toavoid overcomplicating the drawing. The arrows connecting the respectivedevice(s) and server(s) represent communication paths, which may includea satellite path, a fiber-optic path, a cable path, a path that supportsInternet communications (e.g., IPTV), free-space connections (e.g., forbroadcast or other wireless signals), or any other suitable wired orwireless communications path or combination of such paths.

FIG. 8 is a flowchart of detailed illustrative process 800 foractivating a user profile for temporary use on a device, in accordancewith some embodiments of the disclosure. At 802, control circuitry(e.g., control circuitry 604) of the device receives a user input (e.g.,via I/O Path 602). For example, control circuitry 604 of device 102receives a selection of a media asset “Friends” for viewing on a videostreaming application (e.g., the Netflix mobile application). At 804,control circuitry (e.g., control circuitry 604) determines whether theuser input is consistent with the active user profile (e.g., stored instorage 608) on the device. The processes for determining user inputconsistency are described in further detail in FIGS. 9, 10, and 11. Forexample, control circuitry 604 determines whether the selected mediaasset “Friends” is present in the viewing or search history of theuser's Netflix profile. If the selected media asset is present in theviewing or search history, control circuitry 604 determines that theuser previously selected the media asset (i.e., provided the same userinput at a previous time) and therefore the user input is not an outlier(e.g., a user input made by mistake or by another user). Thus, if at 804control circuitry (e.g., control circuitry 604) determines that the userinput is consistent with the active user profile, process 800 proceedsto 818. If “Friends” is not present in the viewing or search history,control circuitry 604 determines that the selection is inconsistent withthe user's normal behavior as captured by the active user profile.

In response to determining that the user input is inconsistent with theactive user profile, at 806, control circuitry (e.g., control circuitry604) determines a first location of the device. For example, controlcircuitry 604 retrieves the GPS coordinates of device 102 (e.g.,location 202). The GPS coordinates may be at a certain restaurant in NewYork City. At 808, control circuitry 604 identifies a candidate userfrom the active user profile. The identification process of thecandidate user is described in further detail in FIG. 1200. For example,control circuitry 604 may access a third-party application such as asocial media application (e.g., the Facebook mobile application) toidentify a list of candidate users. Control circuitry 604 proceeds toselect a candidate user from the list. At 810, control circuitry (e.g.,control circuitry 604) determines whether the candidate user is in thefirst location. For example, the candidate user may have posted acheck-in social media post at the restaurant in New York City wheredevice 102 is present. Control circuitry 604 thus determines thatlocation of the candidate user by scraping the social media profile ofthe candidate user and identifying the check-in post. In someembodiments, control circuitry 604 searches for a current location ofthe candidate user by setting a threshold period of time within whichthe location of the candidate user should be updated. For example,control circuitry 604 determines that the check-in social media post wasmade two hours prior to the current time. Control circuitry 604retrieves the threshold period of time (e.g., three hours) from storage608 and determines whether the time the location of the candidate userwas most recently updated (e.g., the check-in post may have been themost recent social media post made by the candidate user that indicatesa location) is within the threshold period of time. In response todetermining that the location update time of the candidate user iswithin the threshold period of time, control circuitry 604 determinesthat the candidate user is currently located in the first location(i.e., the location of the device).

In response to determining that the candidate user is not in the firstlocation, process 800 returns to 808 where control circuitry (e.g.,control circuitry 604) identifies a different candidate user from theactive user profile (e.g., a different individual on the social mediafriends list as depicted in FIG. 2). In response to determining that thecandidate user is in the first location, control circuitry 604 retrievesa user profile of the candidate user by first retrieving identificationinformation (e.g., a name, contact information, date of birth, etc.) ofthe candidate user from the Internet (e.g., from the social mediaprofile of the candidate user). Using the identification information,control circuitry 604 determines whether the candidate user has a userprofile associated with the application on which the user input wasprovided. For example, if the user input is received on a videostreaming application such as the Netflix website or app, controlcircuitry 604 determines whether the candidate user has a user profileassociated with the video streaming application (i.e., whether thecandidate user has a Netflix account). In another example, if the userinput is received on a set-top box of a content provider such as TiVo™,control circuitry 604 determines whether the candidate user has a userprofile associated with the content provider TiVo. Specifically, controlcircuitry 604 searches a user database of the content provider ofinterest to determine whether a user profile of the candidate userexists in the database. In response to determining that the user profileexists, control circuitry 604 retrieves the user profile of thecandidate user from the user database comprising a plurality of userprofiles. For example, control circuitry 604 may retrieve the Netflixuser profile of the candidate user from a Netflix database of userinformation on server 706 over communications network 704 (e.g., anInternet connection).

At 814, control circuitry (e.g., control circuitry 604) determineswhether the user input is consistent with the user profile of thecandidate user. For example, control circuitry 604 determines whetherthe user profile of the candidate user indicates that the candidate userhas previously provided the user input (e.g., performed a selection ofthe media asset “Friends” on Netflix). In response to determining thatthe user input is inconsistent with the user profile, process 800returns to 808, where control circuitry (e.g., control circuitry 604)selects a different candidate user.

In response to determining that the user input is consistent with theuser profile of the candidate user, at 816, control circuitry (e.g.,control circuitry 604) activates the user profile of the candidate useras a temporary active user profile on the device. For example, controlcircuitry 604 retrieves access credentials (e.g., a username andpassword) associated with the user profile of the candidate user fromserver 706 or a device owned by the candidate user. Control circuitry604 may log out of the active user profile and log in to the userprofile of the candidate user using the access credentials. Process 800then proceeds to 818, where control circuitry (e.g., control circuitry604) executes the user input to produce an output (e.g., begins thestream of “Friends”). It should be noted that 804-814 may be performedby control circuitry on server 706 or by control circuitry 604 on device702.

FIG. 9 is a flowchart of illustrative process 900 for determiningwhether a user input is inconsistent with the active user profile on thedevice based on previously received user inputs, in accordance with someembodiments of the disclosure. FIG. 9 elaborates on 804 of FIG. 8. At902, control circuitry (e.g., control circuitry 604) identifiespreviously received user inputs (e.g., stored in storage 608 of device702 or server 706) on the active user profile. For example, controlcircuitry 604 extracts the search history or the viewing history of theuser on his/her Netflix user profile. At 904, control circuitry (e.g.,control circuitry 604) determines whether the user input matches apreviously received user input. For example, if the user input is asearch for the media asset “Friends,” control circuitry 604 determineswhether the search history includes a prior search for the media asset“Friends.” In response to determining a match, process 900 ends at 906where control circuitry (e.g., control circuitry 604) determines thatthe user input is consistent with the active user profile (i.e., theuser input is one that the user would normally make).

In response to determining the user input does not match a previouslyreceived user input, at 908 control circuitry (e.g., control circuitry604) determines whether the user input has been compared to allpreviously received user inputs. For example, the previously receiveduser inputs may be a data structure comprising various selections andsearch commands. Control circuitry 604 may determine consider each entryin the data structure for comparison with the user input. If a match isnot found for one entry, control circuitry 604 moves on to the nextentry of the data structure to perform the comparison. If the user inputhas not been compared to all previously received inputs, at 912 controlcircuitry (e.g., control circuitry 604) selects a different previouslyreceived user input to compare with the user input (i.e., process 900returns to 904). In response to determining that the user input has beencompared to all previously received user inputs in storage 608 and nomatch has been found, process 900 ends at 910 where control circuitry(e.g., control circuitry 604) determines that the user input isinconsistent with the active user profile (i.e., the user would notnormally provide the user input).

FIG. 10 is a flowchart of illustrative process 1000 for determiningwhether a search for a media asset is inconsistent with the active userprofile on the device based on a genre of the media asset, in accordancewith some embodiments of the disclosure. FIG. 10 elaborates on 804 ofFIG. 8. At 1002, control circuitry (e.g., control circuitry 604)determines whether the user input is a search command for a media asset.For example, control circuitry 604 may categorize various user inputsinto an input type. Input types can include, but are not limited to,searches, selections, trick-play, etc. When a user input is received atthe device, control circuitry 604 assigns an input type to the userinput. For example, control circuitry 604 may receive a text or verbalinput “Friends” in a search bar. Because the input was received via asearch bar, control circuitry 604 assigns the user input the “search”input type. Additionally, the input “Friends” may yield a search resultfor a media asset titled “Friends.”

In response to determining that the user input is not a search commandfor a media asset, process 1000 ends. However, if control circuitry(e.g., control circuitry 604) determines that the user input is a searchcommand for a media asset (e.g., the input type of the user input is“search” and a media asset is mentioned in the search), at 1004 controlcircuitry (e.g., control circuitry 604) determines a genre of the mediaasset. For example, control circuitry 604 retrieves metadata informationof the media asset from a content provider over communication network704. Based on the metadata, control circuitry 604 may determine that thegenre of “Friends” is “comedy.” At 1006, control circuitry (e.g.,control circuitry 604) identifies previously received user inputs on theactive user profile (e.g., stored on storage 608 of device 702 or server706). At 1008, control circuitry (e.g., control circuitry 604)determines whether a prior search from the previously received userinputs was performed for a different media asset that shares the genreof the media asset associated with the current search command. Forexample, the search history of the active user profile may include asearch for the show “How I Met Your Mother” which has a genre of“comedy.” In response to determining that a prior search for a differentmedia asset with the same genre of the media asset associated with thecurrent search command was performed, at 1010, control circuitry (e.g.,control circuitry 604) determines that the user input is consistent withthe active user profile. If control circuitry 604 is unable to find theprior search for the different media asset, at 1012, control circuitry604 determines that the user input is inconsistent with the active userprofile.

FIG. 11 is a flowchart of an illustrative process for determiningwhether a user input is inconsistent with the active user profile on thedevice based on the receipt time of the user input, in accordance withsome embodiments of the disclosure. FIG. 11 elaborates on 804 of FIG. 8.At 1102, control circuitry (e.g., control circuitry 604) determines areceipt time of the user input. For example, control circuitry 604 mayreceive the user input at 10:20 am. At 1104, control circuitry (e.g.,control circuitry 604) retrieves a plurality of receipt times forpreviously received user inputs from the active user profile. Forexample, control circuitry 604 may determine the times when variousmedia assets were selected on the Netflix mobile application. At 1106,control circuitry (e.g., control circuitry 604) determines a usageperiod of the device between the earliest and the latest receipt timesof the plurality of receipt times. For example, control circuitry 604may determine that the earliest receipt time for a selection of a mediaasset on the Netflix application was 7:10 pm and the latest receipt timewas 9:00 pm. Based on these times, control circuitry 604 determines thatthe usage period is between 7:10 pm and 9:00 pm. At 1108, controlcircuitry (e.g., control circuitry 604) determines whether the receipttime of the user input is within the usage period of the device. Inresponse to determining that the receipt time is not in the usageperiod, at 1110, control circuitry (e.g., control circuitry 604)determines that the user input is inconsistent with the active userprofile. For example, because the user input was received at 10:20 am,which is outside of the usage period, control circuitry 604 determinesthat the user input is not one that the user associated with the activeuser profile would normally make. In response to determining that thereceipt time is in the usage period, at 1112, control circuitry (e.g.,control circuitry 604) determines that the user input is consistent withthe active user profile. For example, if the user input was received bycontrol circuitry 604 at 7:30 pm, control circuitry 604 would deem theuser input one that would normally be made.

It should be noted that processes 900, 1000, and 1100 may be combined todetermine user input consistency. For example, in order to be deemedconsistent with the active user profile, control circuitry (e.g.,control circuitry 604) may in some embodiments require that the userinput both match a previously received user input and be received withinthe usage period.

FIG. 12 is a flowchart of illustrative process 1200 for identifying acandidate user that shares a location with the device, in accordancewith some embodiments of the disclosure. Process 1200 elaborates on 808of FIG. 8. At 1202, control circuitry (e.g., control circuitry 604)retrieves a list of candidate users from the active user profile. Forexample, control circuitry 604 may retrieve a contact list stored indevice 702 (e.g., in storage 608). At 1204, control circuitry (e.g.,control circuitry 604) identifies a first candidate user from the listof candidate users. Referring back to FIG. 2, control circuitry 604 mayconsider Friend A from the list. At 1206, control circuitry (e.g.,control circuitry 604) retrieves location information of the firstcandidate user. For example, control circuitry 604 may access the socialmedia profile of the first candidate user to determine his/her location.At 1208, control circuitry (e.g., control circuitry 604) determineswhether the location information matches the first location of thedevice. For example, the location of the device may be at a restaurantbased on retrieved GPS coordinates.

The location of the candidate user, based on his social media profile,may also be at the restaurant. In response to determining that thelocation information matches, process 1200 ends at 1210 where controlcircuitry (e.g., control circuitry 604) selects the first candidate useras the candidate user.

In response to determining that the location information does not match,at 1212 control circuitry (e.g., control circuitry 604) determineswhether all candidate users of the list have been considered (i.e.,determine whether their respective location matches the location of thedevice). If not all candidate users of the list have been considered, at1216 control circuitry (e.g., control circuitry 604) selects a differentcandidate user (e.g., Friend A, Friend B, etc., of FIG. 2) and process1200 returns to 1206. In response to determining that all candidateusers of the list have been considered and none of them has a matchinglocation with the location of the device, process 1200 ends at 1214where control circuitry (e.g., control circuitry 604) executes the userinput as a part of the active user profile. This implies that the usermay have provided the user input himself/herself because no otherpossible users had access to the device.

FIG. 13 is a flowchart of illustrative process 1300 for executing theuser input on a temporary active user profile, in accordance with someembodiments of the disclosure. Process 1300 elaborates on 818 of FIG. 8.At 1302, control circuitry (e.g., control circuitry 604) determineswhether an additional user input from the candidate user has beenreceived on the device (e.g., via I/O Path 602). For example, controlcircuitry 604 may receive a search command for the media asset “How IMet Your Mother” subsequent to receiving the selection of the mediaasset “Friends” on Netflix. If no additional user inputs have beenreceived, process 1300 ends. However, if an additional user input hasbeen received from the candidate user, at 1304 control circuitry (e.g.,control circuitry 604) updates the temporary active user profile basedon the additional user input. For example, control circuitry 604 addsthe search for “How I Met Your Mother” to the search history of thetemporary active user profile.

At 1306, control circuitry (e.g., control circuitry 604) identifies adifferent device of the candidate user from the user profile of thecandidate user. For example, control circuitry 604 of the device maybroadcast a discovery message (e.g., over communications network 704).Referring to FIG. 5, device 502 may send a discovery message to device506 (e.g., the different device of the candidate user), which mayrespond to device 502 with an acknowledgement message. Theacknowledgment message may include an indication that device 506 belongsto the candidate user (e.g., by including the name of the candidateuser). At 1308, control circuitry (e.g., control circuitry 604) sends acopy of the updated temporary active user profile to the differentdevice of the candidate user (e.g., over communication network 704). Forexample, control circuitry 604 of device 502 sends the updated searchhistory to device 506 for storage. In some embodiments, controlcircuitry 604 of device 502 uploads the updates of the user profile tothe cloud (e.g., server 706 via communications network 704, which may bea Netflix server connected via the Internet). Device 506 may thendownload the updates from server 706.

It should be noted that processes 800-1300 or any step thereof could beperformed on, or provided by, any of the devices shown in FIGS. 6-7. Forexample, the processes may be executed by control circuitry 604 (FIG. 6)as instructed by a media guidance application implemented on device 702and/or server 706. In addition, one or more steps of a process may beincorporated into or combined with one or more steps of any otherprocess or embodiment (e.g., steps from process 900 may be combined withsteps from process 1100). In addition, the steps and descriptionsdescribed in relation to FIGS. 8-13 may be done in alternative orders orin parallel to further the purposes of this disclosure. For example,each of these steps may be performed in any order or in parallel orsubstantially simultaneously to reduce lag or increase the speed of thesystem or method.

The processes discussed above are intended to be illustrative and notlimiting. One skilled in the art would appreciate that the steps of theprocesses discussed herein may be omitted, modified, combined, and/orrearranged, and any additional steps may be performed without departingfrom the scope of the invention. More generally, the above disclosure ismeant to be exemplary and not limiting. Only the claims that follow aremeant to set bounds as to what the present invention includes. Inaddition, the systems and methods described herein may be performed inreal time. It should also be noted, the systems and/or methods describedabove may be applied to, or used in accordance with, other systemsand/or methods.

1. A method for identifying a user profile for temporary use on adevice, the method comprising: receiving a user input on a device,wherein the device is in a first location; comparing the user input withan active user profile on the device; and in response to determining,based on the comparing, that the user input is inconsistent with theactive user profile: identifying a candidate user that is located in thefirst location; determining whether the user input is consistent with auser profile of the candidate user; and in response to determining thatthe user input is consistent with the user profile of the candidateuser, activating the user profile of the candidate user as a temporaryactive user profile on the device. 2-50. (canceled)